package com.estate.system.service;

import com.estate.system.domain.SysAdvantage;
import com.estate.system.domain.SysPost;

import java.util.List;

/**
 * 岗位信息 服务层
 * 
 * @author estate
 */
public interface ISysAdvantageService
{
    /**
     * 查询优点信息集合
     * 
     * @param advantage 优点信息
     * @return 优点信息集合
     */
    public List<SysAdvantage> selectAdvantageList(SysAdvantage advantage);

    /**
     * 查询所有优点
     * 
     * @return 优点列表
     */
    public List<SysAdvantage> selectAdvantageAll();

    /**
     * 根据用户ID查询优点
     * 
     * @param userId 用户ID
     * @return 优点列表
     */
    public List<SysAdvantage> selectAdvantagesByUserId(Long userId);

    /**
     * 通过优点ID查询优点信息
     * 
     * @param advantageId 优点ID
     * @return 角色对象信息
     */
    public SysAdvantage selectAdvantageById(Long advantageId);

    /**
     * 批量删除优点信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteAdvantageByIds(String ids);

    /**
     * 新增保存优点信息
     * 
     * @param advantage 优点信息
     * @return 结果
     */
    public int insertAdvantage(SysAdvantage advantage);

    /**
     * 修改保存优点信息
     * 
     * @param advantage 优点信息
     * @return 结果
     */
    public int updateAdvantage(SysAdvantage advantage);

    /**
     * 通过优点ID查询优点使用数量
     *
     * @param advantageId 优点ID
     * @return 结果
     */
    public int countUserAdvantageById(Long advantageId);

    /**
     * 校验优点名称
     * 
     * @param advantage 优点信息
     * @return 结果
     */
    public String checkAdvantageNameUnique(SysAdvantage advantage);


}
